/**
 * @author 20111011 by hzx
 * @class EditUserInfoSmsCommForm
 * @extends Ext.form.FormPanel
 * @description 用户信息表单
 */
EditUserInfoSmsCommForm = Ext.extend(Ext.form.FormPanel, {
	myid : "myid",
	myReadOnly : false, // 自定义属性是否只读
	myDisabled : false, // 自定义属性是否禁用
	addMode : false, // 增加模式
	comboStoreSex : null, // 下拉列表框数据源(性别)
	// 构造方法
	constructor : function() {
		// 下拉列表框数据源(性别)
		this.comboStoreSex = new Ext.data.JsonStore({
					url : "dataDict.do",
					baseParams : {
						"operator" : "showDataDictByKey",
						"sekey" : "sex"
					},
					fields : ["datakey", "value","remark"],
					autoLoad : true
				});

		// 拷贝父类的构造方法到当前对象
		EditUserInfoSmsCommForm.superclass.constructor.call(this, {
			id : this.myid,
			border : false, // 不要边框
			autoScroll : true,
			bodyStyle : "backgroundColor:#DFE8F6;",
			items : [{
				xtype : "panel",
				frame : true,
				border : false,
				bodyStyle : "backgroundColor:#DFE8F6;",
				items : [{
					layout : "column",
					border : false,
					items : [{
								columnWidth : .50,
								labelWidth : 100,
								layout : "form",
								defaults : {
									xtype : "textfield",
									allowBlank : false, // 不允许为空
									anchor : "90%"
								},
								items : [{
											fieldLabel : "用户ID(登录使用)",
											name : "uis.userId",
											readOnly : true
										},{
											
											fieldLabel : "密码",
											inputType : "password",
											name : "userPass1",
											disabled : !this.addMode,
											allowBlank : (!this.addMode), // 不允许为空
											value : "******"
										}, {
											fieldLabel : "确认密码",
											inputType : "password",
											name : "userPass12",
											invalidText : "两次输入的密码不一致", // 验证失败出现的提示
											allowBlank : (!this.addMode), // 不允许为空
											disabled : !this.addMode,
											value : "******"
										},{
											fieldLabel : "手机",
											name : "uis.cellphone",
											invalidText : "手机号码长度必须为11位",
											validator : function(){ 
												return /^1\d{10}$/gi.test(this.getValue());
											}
										},{
											fieldLabel : "地址",
											name : "uis.address",
											allowBlank : true //允许为空
										},{
											xtype : "hidden",
											name : "uis.remark",
											allowBlank : true
										}]
							}, {
								columnWidth : .40,
								labelWidth : 55,
								layout : "form",
								defaults : {
									xtype : "textfield",
									allowBlank : true, // 不允许为空
									anchor : "90%"
								},
								items : [{
											fieldLabel : "姓名",
											name : "uis.userName",
											allowBlank : false
										},{
											allowBlank : true, // 允许为空
											fieldLabel : "电话",
											name : "uis.telephone"
										}, {
											allowBlank : true, // 允许为空
											fieldLabel : "电子邮件",
											name : "uis.email"
										} ,{
											xtype : "combo", // 下拉列表框
											editable : false,
											fieldLabel : "性别",
											emptyText : "请选择性别",
											readOnly : this.myReadOnly, // 自定义属性(是否只读)
											disabled : this.myDisabled, // 自定义属性(是否禁用)
											triggerAction : "all", // 显示所有数据
											hiddenName : "uis.sexStr",
											displayField : "remark", // 要显示的值
											store : this.comboStoreSex,
											allowBlank : false
										},
										
										{
											name : "uis.password",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.parentId",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.userType",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.userTypeStr",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.parentId",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.sex",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.status",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.routeId",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.feetype",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.recordFlag",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.recvFlag",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.smscont",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.price",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.balance",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.createUserid",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.updateUserid",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.oldMobile",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.lastLoginStr",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.createDateStr",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.updateDateStr",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.checkFlag",
											xtype : "textfield",
											hidden : true
										},{
											name : "uis.discount",
											xtype : "textfield",
											hidden : true
										}]
							}]
						}]
			}]
		});
	},
	/**
	 * 用户角色表单提交方法
	 * 
	 * @param {}
	 *            _url 提交的url
	 */
	mySubmit : function(_url) {
		this.getForm().submit({
					url : _url,
					waitTitle : "数据传输",
					waitMsg : "数据传输中,请稍等...",
					// 成功回调方法
					success : this.onSuccess,
					// 失败回调方法
					failure : this.onFailure,
					// 作用域
					scope : this

				})
	},

	/**
	 * 请求成功的回调方法
	 * 
	 * @param {}
	 *            _form
	 * @param {}
	 *            _action
	 */
	onSuccess : function(_form, _action) {
		if (_action.result.success == true) {
			Ext.Msg.alert("系统消息", "修改成功");
			// 调用当前组建的父容器的onCloseWinClick()事件
//			this.ownerCt.onCloseWinClick();
			/**
			 * _urgp 是 smsfactory.whitelist.white_list.jsp
			 * 中WhiteListPanel类的实例
			 */
			_urgp.getStore().reload();
			return;
		}
	},

	/**
	 * 请求失败的回调方法
	 * 
	 * @param {}
	 *            _form
	 * @param {}
	 *            _action
	 */
	onFailure : function(_form, _action) {
		Ext.Msg.alert("系统消息", _action.result["errorMsg"]);
	},

	/**
	 * 获取form的值
	 * 
	 * @return {}
	 */
	getFormValues : function() {
		return new Ext.data.Record(this.getForm().getValues());
	},

	/**
	 * 给表单设置值
	 * 
	 * @param {}
	 *            _record
	 */
	setFormValues : function(_record) {
		this.getForm().loadRecord(_record);
	},

	/**
	 * 重置表单
	 */
	reset : function() {
		this.getForm().reset();
	}
});
